import os
import pandas as pd
import numpy as np

# 定义文件夹和CSV文件的路径
folder_path = "../data/data_pages"
csv_path = "../data/data.csv"

# 获取文件夹中所有文件的名称（不包括扩展名）
files = os.listdir(folder_path)
file_names_in_folder = {file.split(".html")[0] for file in files if file.endswith('.html')}

# 读取CSV文件
csv = pd.read_csv(csv_path)

# 删除文件夹中不存在的CSV记录
index = []
for i in range(len(csv)):
    if csv.iloc[i]['title'] not in file_names_in_folder:
        index.append(i)
for i in index[::-1]:
    csv.drop(i, inplace=True)

# 删除CSV中不存在的文件夹文件
files = os.listdir(folder_path)
for file in np.array(files):
    true_name = file.split(".html")[0]
    if true_name not in csv['title'].to_numpy():
        os.remove(os.path.join(folder_path, file))

# 再次更新CSV，确保文件夹中的文件也在CSV中
csv = csv[csv['title'].apply(lambda x: x in file_names_in_folder)]

# 重置索引并保存CSV文件
csv.reset_index(drop=True, inplace=True)
csv.to_csv(csv_path, index=False)